home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 44
/
Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso
/
Aminet
/
demo
/
mag
/
PowerAmiga3.lha
/
PowerAmiga3
/
ñòàòüè
/
soft
< prev
next >
Wrap
Text File
|
2001-05-11
|
14KB
|
321 lines
<B>PATCHES</B>
 ïðîøëîì íîìåðå æóðíàëà ìû ðàçêàçûâàëè î ïàò÷àõ ê AmigaOS, êîòîðûå ïîäìåíÿþò
å¸ âûçîâû îò÷âå÷àþùèå çà âûâîä ãðàôèêè (îêîíííûé èíòåðôåéñ, ðèñîâàíèå
ëèíèé,òî÷åê è ò.ï.). Íàì ïîñòóïèëî ïðåäëîæåíèå áîëåå ïîäðîáíåå ðàññêàçàòü îá
ýòîì.
 ýòîé ñòàòüå ìû êîñí¸ìñÿ ïàò÷åé, èõ åù¸ íàçûâàþò "çàïëàòêàìè", óñêîðÿþùèìè
ãðàôèêó è ýêîíîìèùèìè chip ram. Âñå ýòè "çàïëàòêè" â îñíîâíîì ïðåäíàçíà÷åíû äëÿ
ìàøèí ñî ñòàíäàðòíûì AGA chipset'îì ò.å. íå èñïîëüçóþùèõ âèäåîêàðòû.
Êðîìå îáû÷íîãî îïèñàíèÿ ýòèõ ïàò÷åé, ÿ ïðèâåäó òàáëèöó èç òåñòîâîé ïðîãðàììû
SysSpeed, òàê ÷òî âû ñìîæåòå ñàìîñòîÿòåëüíî îöåíèòü ïîëüçó îò äàííûõ ïðîãðàìì.
Äàííàÿ ñòàòüÿ íå ÿâëÿåòñÿ èñòèíîé â ïîñëåäíåé èíñòàíöèè è ðåøåíèå èñïîëüçîâàòü,
èëè íå èñïîëüçîâàòü ïðèâåä¸ííûå â íåé ñîâåòû îñòà¸òñÿ çà âàìè, à òàêæå åñëè âû
õîòèòå äîïîëíèòü äàííûé ìàòåðèàë îáðàòèòåñü â ðåäàêöèþ.
ß äàâíî çàíèìàþñü ïðîáëåììîé óñêîðåíèÿ ðàáîòû ñèñòåìíîé ãðàôèêè ò.ê. ìåíÿ (äà
è ìíîãèõ Âàñ, ÷èòàòåëè) íå óñòðàèâàëà ñêîðîñòü å¸ ðàáîòû â âûñîêèõ ðàçðåøåíèÿõ è
áîëüøèì êîëè÷åñòâîì öâåòîâ. Ýòî åñòåñòâåííî êàñàåòñÿ AGA ÷èïñåòà. Ìîæíî
êîíå÷íî ðåøèòü ýòó ïðîáëåììó ïîêóïêîé áûñòðîé âèäåîêàðòû, íî òàêîé âîçìîæíîñòè ó
ìåíÿ, äà è áîëüøèíñòâà Amiga user'îâ ïîêà íåò, íî ê ñ÷àñòüþ Amiga ïî÷òè âñåãäà
ïðåäëàãàåò íàì àëüòåðíàòèâíûé âàðèàíò.
Íèæå ÿ ðàññìîòðþ ñëåäóþùèå ïàò÷è:
CGXAGA, CyberBugFix, MCP, FBlit, Ftext, QBC, BlazeWCP, SmartWB è íà êàæäîé
îñòàíîâëþñü ïîäðîáíåå. Ó ìåíÿ â ñèñòåìå ñòîÿëè âñå âûøåïåðå÷èñëåííûå ïàò÷è è ÿ
âïîëíå õîðîøî ïðåäñòàâëÿþ, ÷òî êàæäûé èç ñåáÿ ïðåäñòàâëÿåò.
<B>MCP</B>
Íà÷í¸ì ñ MCP.  íåé åñòü äâå ôóíêöèè ïîäìåíÿþùèå ñèñòåìíûå ôóíêöèè ðàáîòû ñ
îêíàìè (ïðàâèëüíåå ñî ñëîÿìè - layers) è ðèñîâàíèåì ëèíèé - ýòî QuickDraw è
QuickLayers. Îíè äåéñòâèòåëüíî ñóùåñòâåííî óñêîðÿþò ðèñîâàíèå ëèíèé è òî÷åê, à
òàêæå ïåðåìåùåíèå îêîí.  óñòàíîâêàõ ìîæíî âêëþ÷èòü îáå, íî åñëè Âû áóäåòå
èñïîëüçîâàòü FBlit (î í¸ì ïîéä¸ò ðå÷ü äàëüøå), òî QuickDraw íåîáõîäèìî îòêëþ÷èòü
ò.ê. àíàëîãè÷íàÿ ôóíêöèÿ â FBlit ðàáîòàåò áûñòðåå. Åñëè Âû åù¸ èñïîëüçóåòå
CGXAGA èëè CyberBugFix, òî ìîæåòå ñìåëî îòêëþ÷àòü îáå ôóíêöèè, ïðàêòè÷åñêàÿ
íåîáõîäèìîñòü â íèõ îòïàäàåò.
Óñòàíîâêà MCP ïðîñòà - íåîáõîäèìî å¸ ïðîïèñàòü â startup-sequence ïîñëå êîìàíäû
SetPatch, íî äî âûçîâà LoadWB. MCP ìîæíî íàéòè íà aminet â util/boot
<B>CGXAGA, CyberBugFix</B>.
Äâå ïðîãðàììû çàíèìàþùèåñÿ, âîîáùå-òî îäíèì è òåì æå. Ýòî âèäîèçìåí¸ííàÿ
ñèñòåìà ïîääåðæêè âíåøíèõ âèäåîêàðò. Íî å¸ íåìíîæêî ïåðåäåëàëè è îíà òåïåðü
ìîæåò ôóíêöèîíèðîâàòü íà ÷èïñåòå. Óñêîðåíèå çäåñü äîñòèãàåòñÿ çà ñ÷¸ò òîãî, ÷òî
îïåðàöèè ñ ãðàôèêîé èäóò â áûñòðîé fast-ïàìÿòè. Ýòè ïðîãðàììû èñïîëüçóþò
áèáëèîòåêó cgxsystem.library, â êîòîðîé ðàñïîëàãàåòñÿ áèáëèîòåêà çàìåíÿþùàÿ
ñòàíäàðòíóþ layers.library. È ýòî äà¸ò íå òîëüêî óñêîðåíèå, íî è ñóùåñòâåííóþ
ýêîíîìèþ chip ram.
Óñòàíîâêà: ðàñïîëîæèòü â ñòàðòàïå ïîñëå setpatch, íî ÄÎ ÄÐÓÃÈÕ ïàò÷åé
çàíèìàþùèõñÿ ïîäìåíîé ôóíêöèé ãðàôèêè. Â ENVARC:cgx ïîëîæèòü òðè ôàéëà
(PLANES2FAST, SUPERGELS, SUPERLAYERS) ðàçìåðîì â îäèí áàéò ñîäåðæàùèé "1" èëè
"0" (ASCII) åäèíèöà âêëþ÷àåò ôóêöèþ, íîëü âûêëþ÷àåò, ðåêîìåíäóþ âî âñåõ ôàéëàõ
âïèñàòü åäèíèöó. È íåîáõîäèìî ïåðåëîæèòü óñòàíîâêè èç ENVARC: â ENV: ðàíüøå
ñòàðòà CGXAGA.
Ê ñîæàëåíèþ ýòó ïðîãðàììó íå îáîøëè îøèáêè. Íî îñíîâíàÿ ìàññà èõ èñïðàâëÿåòñÿ
ïðîãðàììîé CyberBugFix. Ýòî ôàêòè÷åñêè òîæå, ÷òî è CGXAGA, íî ñ áîëåå
ðàñøèðåííûìè íàñòðîéêàìè è èñïðàâëÿþùàÿ ïðàêòè÷åñêè âñå íåäîñòàòêè CGXAGA. Â
÷àñòíîñòè áûëè çàìå÷åíû îøèáêè ñ íå âîçâðàùåíèåì chip ïàìÿòè ïðè çàõâàòå áèòìàïà
áîëüøîãî îáú¸ìà, ìóñîð âìåñòî êíîïîê â IBrowse, à òàêæå íåðàáîòîñïîñîáíîñòü
íåêîòîðûõ
ïðîãðàìì. Óñòàíîâêà å¸ àíàëîãè÷íà CGXAGA, òîëüêî ñ ðàñøèðåíèåì óñàòíîâîê.
Äîáàâèëèñü åù¸ òðè ôàéëà â òîé æå äèðåêòîðèè (DISPLAYABLE, INTERLEAVED, NOCGX,
PLANES2CHIP).
PLANES2CHIP - ñïèñîê èì¸í ïðîöåññîâ, âñå áèòìàïû êîòîðûõ ïîïàäóò â ChipRAM -
ñåé÷àñ òàì åäèíñòâåííûé ïóíêòèê prayer. Ïðè îòñóòñòâèè ýòîãî ôàéëà ïðîâåðêà íà
èìÿ ïðîöåññà íå âûïîëíÿåòñÿ.
INTERLEAVED - ñïèñîê èì¸í ïðîöåññîâ, áèòìàïû êîòîðûõ ìîãóò áûòü ñ ôëàãîì
BMF_INTERLEAVED. Ó âñåõ ïðî÷èõ ïðîöåññîâ ýòîò ôëàã íàñèëüñòâåííî óáèðàåòñÿ.
DISPLAYABLE - ñïèñîê èì¸í ïðîöåññîâ, âñå áèòìàïû êîòîðûõ, íå èìåþùèå ôëàãà
BMF_CLEAR, íàñèëüñòâåííî ïåðåíîñÿòñÿ â FastRAM.  ÷àñòíîñòè, äëÿ DOpus5 ýòî
ïðèâåä¸ò ê òîìó, ÷òî áýêãðàóíäû îêàæóòñÿ â ôàñòå.
NOCGX - ñïèñîê èì¸í ïðîöåññîâ, äëÿ êîòîðûõ áóäåò íåäîñòóïåí CyberGraphX. Ýòî
íåîáõîäèìî òåì ïðîãðàììàì, êîòîðûå ïðè îáíàðóæåíèè CGX ñâÿòî âåðÿò â íàëè÷èå
ãðàôè÷åñêîé êàðòû, è ïûòàþòñÿ ëåçòü â å¸ âèäåîïàìÿòü.  ÷àñòíîñòè, ýòî
ïîçâîëÿåò èñïîëüçîâàòü MooVId ñîâìåñòíî ñ CGXAGA.
Íî åñòåñòâåííî ýòà ïðîãðàììà íå ëèøåíà ìèíóñîâ. Ãëàâíûé íåäîñàòîê, ýòî òî, ÷òî
áèòìàïû ñ ôëàãîì SMARTREFRESH ïîïàäàþò â chip ram, ÷òî óìåíüøàåò èíîãäà
ñóùåñòâåííî êîëè÷åñòâî chip ram. Ïîýòîìó, âûêëþ÷èòå ôëàã SMARTÊREFRESH èëè
âêëþ÷èòå SIMPLEREFRESH òàì, ãäå ýòî âîçìîæíî. Íî ê ñîæàëåíèþ íå âñå ïðîãðàììû
ïðåäîñòàâëÿþò òàêóþ âîçìîæíîñòü.
<B>FBlit</B>.
Îäèí èç ñàìûõ ñèëüíûõ ïàò÷åé, äàæå åñëè åãî èñïîëüçîâàòü â îäèíî÷ó áóäåò äàâàòü
ñóùåñòâåííîå óñêîðåíèå è ýêîíîìèþ chip ram. FBlit ïîäìåíÿåò ñòàíäàðòíûå ôóíêöèè
graphic.library ðàáîòàþùèå ñ áëèòåðîì íà ñâîè, à òàêæå îòïðàâëÿåò áèòìàïû â
fastram, ÷òî è äà¸ò ýêîíîìèþ chip'à.
À ÷òî æå ðåàëüíî äà¸ò FBlit ? Ñàìîå çàìåòíîå íà ãëàç - ýòî ðåçêå óñêîðåíèå
ñêðîëèðîâàíèÿ, îñîáåííî ýòî çàìåòíî íà áðàóçåðàõ. Îêíà íà÷èíàþò ãîðàçäî øóñòðåå
ïåðåìåùàòüñÿ è îòêðûâàòüñÿ. Îñâîáîæäàåòñÿ çíà÷èòåëüíîå êîëëè÷åñòâî Chipram'à,
îñîáåííî çàìåòíî ïîñëå çàãðóçêè ñèòåìû è ïðè îòêðûâàíèè îêîí, êîãäà chipram
ïðàêòèåñêè íå ðàñõîäóåòñÿ. Ôàêòè÷åñêè ïðè èñïîëüçîâàíèè ýòîé ïðîãðàììû chip ram
ðàñõîäóåòñÿ òîëüêî íà ýêðàíû, äà è íà òå ïðîãðàììû, êîòîðûå ñàìîñòîÿòåëüíî
çàõâàòûâàþò chipram äëÿ ñâîèõ íóæä, íàïðèìåð âñåâîçìîæíûå ïëååðû äëÿ áóôåðà
ïðîèãðûâàíèÿ ìóçûêè.
Ïðîïèøèòå FBlit ïîñëå SetPatch è êîïèðîâàíèÿ (ìîíòèðîâàíèÿ) óñòàíîâîê. Åñëè Âû
ïëîõî ðàçáèðàåòåñü â åãî íàñòðîéêàõ, òî îñòàâòå òåêóùèå è íå òðîãàéòå ïîêà íå
íà÷í¸òå ïîíèìàòü, ÷òî æå îíè äåëàþò.
Åñëè æå Âû èñïîëüçóåòå CyberBugFix (CGXAGA), òî âàì íåîáõîäèìî âûêëþ÷èòü
FAllocBitMap â óñòàíîâêàõ fblit.
Íåìíîãî î âåðñèÿõ fbilt, ðåêîìåíäóåòñÿ ñòàâèòü êîíå÷íî æå ïîñëåäíþþ âåðñèþ. Íî
ñàìîå ãëàâíîå íå ñòàâòå fblit âåðñèåé ÍÈÆÅ 3.66. Ðàáîòà ýòèõ âåðñèé êðàéíå íå
êîððåêòíà.
<B>FText</B>
Ýòî ñîáñòâåííî ïðèäàòîê ê FBlit, áåç íåãî íå ôóíêöèîíèðóåò. Ýòà ïðîãðàìêà
îñóùåñòâëÿåò âñå îïåðàöèè ñ ïå÷àòüþ òåêñòà íà ýêðàí â fastram, ÷òî óñêîðÿåò
âûâîä òåêñòà íà ýêðàí â äâà ðàçà. Íó åñòåñòâåííî ýêîíîìèò ÷èï ïàìÿòü, íî ýòî íå
ñèëüíî çàìåòíî ò.ê. øðèôòû çàíèìàþò íå î÷åíü áîëüøîé îáú¸ì. Óñòàíîâêà ïðîñòà -
ïðîãðàììó íåîáõîäèìî ðàçìåñòèòü â ñòàðòàïå ñðàçó æå ïîñëå FBlit.
<B>QBC</B>
Ïîäìåíÿåò ôóíêöèþ ñòèðàíèÿ ãðàôèêè ñ ýêðàíà. Äåëàåò ýòî áûñòðåå ÷åì FBlit.
Ïîýòîìó åñëè õîòèòå å¸ óñòàíîâèòü, âûêëþ÷èòå â FBlit ôóíêöèþ FBlitClear, à QBC
ïîëîæèòå â ñòàðòàïå ïîñëå fblit'à
<B>BlazeWCP</B>
Ïîäìåíÿåò ñècòåìíûé chuncky2planar. Óñêîðåòñÿ ðàáîòà ïðîãðàìì èñïîëüçóþùèõ
äàííóþ ôóíêöèþ, â ÷àñòíîñòè ýòî èçâåòñíûé image processor CandyFactory.
Æåëàòåëüíî èñïîëüçîâàòü ñîâìåñòíî ñ FBlit ïðîïèñàâ å¸ â ñòàðòàïå ïîñëå äàííîãî
ïàò÷à.
<B>SmartWB</B>
Ýòà ïðîãðàììà áûëà ïåðâûì ìîèì ïàò÷åì, êîòîðûé ÿ óñòàíîâèë, òîãäà åù¸ íà ãîëóþ
À1200. SmartWB íàäî çàïóñêàòü äî âñåõ ïàò÷åé îòâå÷àþùèõ çà ãðàôèêó
ïåðå÷èñëåííûõ âûøå. Ýòîò ïàò÷ çàíèìåòñÿ âêëþ÷åíèåì ôëàãà SmartRefresh âî âñåõ
îêíàõ, â êîòîðûõ îí òîëüêî ìîæåò åãî âêëþ÷èòü. È ýòî óñêîðÿåò ðàáîòó ñ îêíàìè,
îòêðûòèå è ïåðåêëþ÷åíèå ìåæäó îêíàìè.
Òåñòîâàÿ òàáëèöà
============================
SysSpeed V2.6 - TestResults
============================
Test System : A1200 CPU: 68040 FPU: 68040 ChipSet: AGA OS: 3.0
1 - Ñèñòåìà áåç óñòàíîâëåííûõ ïàò÷åé
2 - FBlit3.73xms, Ftext1.2, QBC, BlazeWCP
+-------------+---------+---------+
| Test | 1 | 2 |
+-------------+---------+---------+
| Intuition Results i Results i
+-------------+---------+---------+
| OpenWin16 | 10 | 6 |
+-------------+---------+---------+
| OpenWin256 | 5 | 4 |
+-------------+---------+---------+
| OpenWinHi | ---- | ---- |
+-------------+---------+---------+
| OpenWinTru | ---- | ---- |
+-------------+---------+---------+
| WinLayer16 | 7 | 9 |
+-------------+---------+---------+
| WinLayer256 | 3 | 5 |
+-------------+---------+---------+
| WinLayerHi | ---- | ---- |
+-------------+---------+---------+
| WinLayerTru | ---- | ---- |
+-------------+---------+---------+
| SizeWin16 | 78 | 46 |
+-------------+---------+---------+
| SizeWin256 | 28 | 52 |
+-------------+---------+---------+
| SizeWinHi | ---- | ---- |
+-------------+---------+---------+
| SizeWinTru | ---- | ---- |
+-------------+---------+---------+
| MoveWin16 | 63 | 63 |
+-------------+---------+---------+
| MoveWin256 | 57 | 47 |
+-------------+---------+---------+
| MoveWinHi | ---- | ---- |
+-------------+---------+---------+
| MoveWinTru | ---- | ---- |
+-------------+---------+---------+
| ConOutP16 | 43 | 73 |
+-------------+---------+---------+
| ConOutP256 | 32 | 53 |
+-------------+---------+---------+
| ConOutPHi | ---- | ---- |
+-------------+---------+---------+
| ConOutPTru | ---- | ---- |
+-------------+---------+---------+
| OpenScr16 | 12 | 4 |
+-------------+---------+---------+
| OpenScr256 | 7 | 3 |
+-------------+---------+---------+
| OpenScrHi | ---- | ---- |
+-------------+---------+---------+
| OpenScrTru | ---- | ---- |
+-------------+---------+---------+
| SwapScr16 | 50 | 50 |
+-------------+---------+---------+
| SwapScr256 | 50 | 50 |
+-------------+---------+---------+
| SwapScrHi | ---- | ---- |
+-------------+---------+---------+
| SwapScrTru | ---- | ---- |
+-------------+---------+---------+
| Graphic Results i Results i
+-------------+---------+---------+
| ScrollX_16 | 8 | 15 |
+-------------+---------+---------+
| ScrollX_256 | 3 | 5 |
+-------------+---------+---------+
| ScrollX_Hi | ---- | ---- |
+-------------+---------+---------+
| ScrollX_Tru | ---- | ---- |
+-------------+---------+---------+
| ScrollY_16 | 9 | 20 |
+-------------+---------+---------+
| ScrollY_256 | 3 | 7 |
+-------------+---------+---------+
| ScrollY_Hi | ---- | ---- |
+-------------+---------+---------+
| ScrollY_Tru | ---- | ---- |
+-------------+---------+---------+
| PrintTxt16 | 743 | 2201 |
+-------------+---------+---------+
| PrintTxt256 | 338 | 1088 |
+-------------+---------+---------+
| PrintTxtHi | ---- | ---- |
+-------------+---------+---------+
| PrintTxtTru | ---- | ---- |
+-------------+---------+---------+
| RectFill16 | 480 | 477 |
+-------------+---------+---------+
| RectFill256 | 187 | 187 |
+-------------+---------+---------+
| RectFillHi | ---- | ---- |
+-------------+---------+---------+
| RectFillTru | ---- | ---- |
+-------------+---------+---------+
| DrwElpse16 | 385 | 387 |
+-------------+---------+---------+
| DrwElpse256 | 197 | 197 |
+-------------+---------+---------+
| DrwElpseHi | ---- | ---- |
+-------------+---------+---------+
| DrwElpseTru | ---- | ---- |
+-------------+---------+---------+
| DrwCircle16 | 370 | 371 |
+-------------+---------+---------+
| DrCircle256 | 189 | 188 |
+-------------+---------+---------+
| DrwCircleHi | ---- | ---- |
+-------------+---------+---------+
| DrCircleTru | ---- | ---- |
+-------------+---------+---------+
| WrtPixel16 | 44219 | 43376 |
+-------------+---------+---------+
| WrtPixel256 | 27511 | 27153 |
+-------------+---------+---------+
| WrtPixelHi | ---- | ---- |
+-------------+---------+---------+
| WrtPixelTru | ---- | ---- |
+-------------+---------+---------+
| HorLines16 | 279 | 3797 |
+-------------+---------+---------+
| HorLines256 | 108 | 1587 |
+-------------+---------+---------+
| HorLinesHi | ---- | ---- |
+-------------+---------+---------+
| HorLinesTru | ---- | ---- |
+-------------+---------+---------+
| VerLines16 | 356 | 353 |
+-------------+---------+---------+
| VerLines256 | 137 | 137 |
+-------------+---------+---------+
| VerLinesHi | ---- | ---- |
+-------------+---------+---------+
| VerLinesTru | ---- | ---- |
+-------------+---------+---------+
| DiaLines16 | 314 | 310 |
+-------------+---------+---------+
| DiaLines256 | 135 | 134 |
+-------------+---------+---------+
| DiaLinesHi | ---- | ---- |
+-------------+---------+---------+
| DiaLinesTru | ---- | ---- |
+-------------+---------+---------+
| AreaElps16 | 200 | 203 |
+-------------+---------+---------+
| AreaElps256 | 116 | 117 |
+-------------+---------+---------+
| AreaElpsHi | ---- | ---- |
+-------------+---------+---------+
| AreaElpsTru | ---- | ---- |
+-------------+---------+---------+
| AreaCir16 | 183 | 185 |
+-------------+---------+---------+
| AreaCir256 | 102 | 104 |
+-------------+---------+---------+
| AreaCirHi | ---- | ---- |
+-------------+---------+---------+
| AreaCirTru | ---- | ---- |
+-------------+---------+---------+
| AreaFill16 | 187 | 194 |
+-------------+---------+---------+
| AreaFill256 | 91 | 93 |
+-------------+---------+---------+
| AreaFillHi | ---- | ---- |
+-------------+---------+---------+
| AreaFillTru | ---- | ---- |
+-------------+---------+---------+
<B>Levitator/team PowerAmiga</B>